/* 
 * cms，一个基于J2EE架构内容管理系统
 * Copyright © GrayRabbit Co., Ltd. All rights reserved.
 * Department:运营department
 * 更多信息请访问：
 * http://code.google.com/p/gray-rabbit-cms/
 */
package org.grayrabbit.cms.service.theme;

import java.util.List;

import org.grayrabbit.cms.entity.Theme;
import org.grayrabbit.cms.vo.theme.ThemeBean;

import org.grayrabbit.dao.util.Page;
import org.grayrabbit.service.GenericService;

/**
 * <b>OperLog</b>的service接口

 * @version 1.0,创建时间: 2011-05-16 15:57:47 
 */
public interface ThemeService extends GenericService {
	/**
	 * 根据主键查询实体
	 * @param themeId
	 * @return
	 */
	Theme getTheme(String themeId);
	/**
	 * 批量删除
	 * @param key
	 */
	void delete(String[] key);
	/**
	 * 删除实体
	 * @param theme
	 */
	void delete(Theme theme);
	/**
	 * 保存实体
	 * @param theme
	 */
	void save(Theme theme);
	/**
	 * 根据bean组装统计查询条件(名称参数)
	 * @param theme
	 * @return
	 */
	Page<Theme> getPage(ThemeBean themeBean);
	/**
	 * 填充分页组件的查询：(名称参数)
	 * @param page
	 * @param themeBean
	 */
	void list(Page<Theme> page, ThemeBean themeBean);
	List<Theme> findAll();
	void saveAll(List<Theme> addList);
	void deleteAll(List<Theme> delList);
	/** 
	 * @param absoluteThemePath 主题目录的绝对路径
	 * @return 
	 */
	List<Theme> findAllRealUsableTheme(String absoluteThemePath);
	
	/**批量启用禁用
	 * @param objectIds
	 * @param objectFlag 
	 */
	boolean changeThemeStatus(String objectId);
	/**
	 * @param themeName 主题名称
	 * @return  true启用  false已经禁用
	 */
	public boolean checkUsableTheme(String themeName);
	
	/**
	 *   是否有站点引用该主题  有返回 true
	 * **/
	public boolean findSiteByTheme(String themeId);
}